{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "-"
    }
   },
   "source": [
    "<center><h1> Undirected graphical models (Markov random fields) </h1></center>\n",
    "# 1. Basic\n",
    "Directed graphical models (DGMs)  are forced to choose a direction for the edges, which is unnatural for some applications, such as modeling the correlationship between pixels in an image. An alternative is to use an **undirected graphical model (UGM)** ,also called a **Markov random field (MRF)**. These do not require us to specify edge orientations, and are much more natural for some problems.\n",
    "## 1.1 Conditional independence (CI) properties of UGMs\n",
    "* **global Markov property**. For sets of nodes $A,B$ and $C$, we say $x_A \\bot x_B |x_C$ iff $C$ separates $A$ from $B$ in the graph $G$. This means that, when we remove all the nodes in $C$, there are no paths connecting any node in $A$ to any node in $B$. \n",
    "<img src=\"imgs/1.png\" alt=\"drawing\" width=\"200\"/>\n",
    "* **local Markov property**. The set of nodes that renders a node $t$ conditionally independent of all the other nodes in the graph is called $t$'s **Markov blanket**. It's obevously that a node's Markov blanket is its set of immediate neighbors.\n",
    "* **pairwise Markov property**. Two nodes are conditionally independent given the rest if there is no direct edge between them.\n",
    "\n",
    "# 2. Parameterization of MRFs\n",
    "## 2.1 Hammersley-Clifford theorem\n",
    "Since there is no topological ordering associated with an undirected graph, we can’t use the chain rule to represent $p(x_{1:V})$. So instead of associating conditional probability with each node, we associate **potential functions** with each maximal clique in the graph. The joint distribution is then defined to be proportional to the product of clique potentials. A positive distribution $p(x_{1:V})>0$ satisfies the CI properties of an undirected graph G iff p can be represented as a product of potential functions, one per maximal clique\n",
    "$$\n",
    "p(x_{1:V}|\\theta)=\\frac{1}{Z(\\theta)}\\prod_{c \\in \\mathcal{C}}\\psi_c(\\vec{x}_c|\\theta_c)\n",
    "$$\n",
    "where $\\mathcal{C}$ is the set of all the maximal cliques of G and $Z(\\theta)$ is the **partition function**\n",
    "<img src=\"imgs/2.png\" alt=\"drawing\" width=\"100\"/>\n",
    "For example, consider the MRF above, we can write $p$ as \n",
    "$$\n",
    "p(x_{1:5}|\\theta)=\\frac{1}{Z(\\theta)}\\psi_{123}(x_1,x_2,x_3)\\psi_{234}(x_2,x_3,x_4)\\psi_{35}(x_3,x_5)\n",
    "$$\n",
    "## 2.2 Representing potential functions\n",
    "We can convenient express the potential functions as exponentials\n",
    "$$\n",
    "\\psi_c(\\vec{x}_c)=exp\\left\\{-\\frac{E(\\vec{x}_c)}{kT}\\right\\}\n",
    "$$\n",
    "where $E(\\vec{x}_c)$ is called the **energy function**, and the exponential representation is called the **Boltzmann distribution**. MRFs gives greater flexibility in choosing the potential functions, which can be done by viewing the potential function as expressing which configurations of the local variables are preferred to others (think it as minimum energy configuration). Global configurations that have a relatively high probability are those that find a good balance in satisfying the (possible conflicting) influences of the clique potentials.\n",
    "\n",
    "A general approach is to define the **energy function** as a linear function of the parameters\n",
    "$$\n",
    "E(\\vec{x}_c)=\\phi_c(\\vec{x}_c)^T \\vec{\\theta}_c\n",
    "$$\n",
    "where $\\phi_c(\\vec{x}_c)$ is a feature vector derived from the values of the variables $\\vec{x}_c$. The resulting log probability has the form \n",
    "$$\n",
    "log\\,p(x_{1:V}|\\theta)=-\\frac{\\sum_c\\phi_c(\\vec{x}_c)^T \\vec{\\theta}_c}{kT}-Z(\\theta)\n",
    "$$\n",
    "This is known as **maximum entropy** or a **log-linear** model.\n",
    "# 3. Examples of MRFs\n",
    "## 3.1 Ising model\n",
    "In simplest form, the Ising model consists of a $N \\times N$ lattice of binary variables $x_{ij} \\in \\{-1,1\\}$ that are locally connected with pairwise potentials.\n",
    "<img src=\"imgs/3.png\" alt=\"drawing\" width=\"300\"/>\n",
    "We can define the energy function between lattice $i$ and lattice $j$ as \n",
    "$$\n",
    "E_{ij}(x_i,x_j)=-Jx_ix_j\n",
    "$$\n",
    "which means the energy between lattice $i$ and lattice $j$ is $-J$ if $x_i$ and $x_j$ is the same and $J$ if $x_i$ and $x_j$ is different. The total energy of the system (Hamiltonian) is\n",
    "$$\n",
    "E=-J \\sum_{x_i \\sim x_j} x_ix_j\n",
    "$$\n",
    "where the sum is over all neighboring pairs of lattice. Statistical mechanics states that the probability of any particular configuration $c$ is\n",
    "$$\n",
    "p(c)=\\frac{1}{Z}exp\\left\\{-\\frac{E(c)}{kT}\\right\\}\n",
    "$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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tctFxT3LMWw5P+gxy2nJqoq2ilinFZV9sknnWZzZJCIiIiIionD8sklEREREREThVp5Ga0lb8RSSsBTAKbVZm7ZY6tOSyuuZ1rek1pWW06Y6e9JMl73+nce1N+6XxqDdr54CIJbnvWkinpvYLdsRODDbHx1OW8Qpt86UJdbl2ptb3xLratqZazsqZc7De8uAliWltqZN67o1sT5qDJ60N++5wFzbjHV2rY9p7a1AlttstOOJjke90ykt557e5TznYaXntbdCzZ1bRrG03Tvl/9D+dLGOM5tEREREREQUjl82iYiIiIiIKNzK0mi109Zzj62iAt3cOCwVwSxV1CwVdS1ta9MxLdXGIl6rNy1Lm1pqqbY2t+4ytemvLVI5tOnam1QFbdUi0lpXsb3XoWKkZizLlm0R67Tt5VhuhfD03SItNfqYyK3v3SaeGKWNdaxUW29dtpnllpK5daciYl1N35Zj1BPrPLcZRd2O0atidNT3EO2+aXEblkd03OPMJhEREREREYVbeYGgKc/VTm3xhZqrSxEzaKWrS9qrNN7iEtHbpMRylb/3FWltPzXH3uI65aI5h7Psa89Ma80YtcfRulzFXpWTT7ke+/cv3w/Rx3+uHW2/2nWt60TEupbbZJna7BvtuhbL3t+e2cCogj2WODKXIeONHdGzwYx186axzjNDFq1lNkhNxlbLbAALbXbaqtTMyLbus3Zdz2eGxSZlXXBmk4iIiIiIiMLxyyYRERERERGF65pGq023sKQRWoqYRKejlpaL+m0iT9816VYR6VjeIh1zlo1V+/pr2ozgSWXLjUtb4GTZ89oxapWOlz17zU1vtIhCMzXvS0tBougUJUsa2ZyaY700Hu04PPGo1EftsVBTkKR3Slx0YaMc72uynEfssKTWbmusi04jtBSksXw+epT6rhU17lKhHU8/lvfjOr/XPftLWyDJ055lfW+sm/vsscQ6zmwSERERERFRuK4zmxdfdJR6RnNRzZWruau9NVcwamcVa66UaK9IR72W3LiirwB5rx7WFheoucHdcpVurs2oWWrP7HuvGYzexVB2m+hYp7UuBQkiikrVHGNRsyu1229d9pF2O/YuuKGdkWqpZranZn1azvP5OBWddVMSVbAqZ+7cMqpQ0LrEutr95p3Z7X2upM0qWbeiYpb3m2c7cmaTiIiIiIiIwvHLJhERERER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\n",
      "text/plain": [
       "<Figure size 1152x1152 with 9 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Here we will sample from a 5*5 Ising model\n",
    "from scipy import stats\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "plt.figure(figsize=(16,16))\n",
    "np.random.seed(42)\n",
    "\n",
    "model_size=100     # The size of the lattice array\n",
    "pair_energy=10.0   # The J parameter\n",
    "init_sample=np.random.rand(model_size,model_size)\n",
    "init_sample[init_sample<=0.5]=-1\n",
    "init_sample[init_sample>0.5]=1\n",
    "sample_size=45000\n",
    "plot_interval=int(sample_size/9)\n",
    "\n",
    "def compute_energy(sample,x,y):\n",
    "    left_energy= (0.0 if (x==0) else -sample[x-1,y]*sample[x,y]*pair_energy)\n",
    "    right_energy= (0.0 if (x==model_size-1) else -sample[x,y]*sample[x+1,y]*pair_energy)\n",
    "    down_energy= (0.0 if (y==0) else -sample[x,y-1]*sample[x,y]*pair_energy)\n",
    "    up_energy= (0.0 if (y==model_size-1) else -sample[x,y]*sample[x,y+1]*pair_energy)\n",
    "    return left_energy+right_energy+down_energy+up_energy\n",
    "\n",
    "samples=np.array(init_sample)\n",
    "#Perform the MH sampler\n",
    "for i in range(sample_size):\n",
    "    if i%plot_interval==0:\n",
    "        plt.subplot(3,3,int(i/plot_interval)+1)\n",
    "        plt.imshow(samples)\n",
    "        plt.title(\"The %dth sample\"%i,fontsize=15)\n",
    "    #random select a pixel from the sample\n",
    "    random_x=int(np.random.rand()*model_size)\n",
    "    random_y=int(np.random.rand()*model_size)\n",
    "    proposed_sample=np.copy(samples)\n",
    "    proposed_sample[random_x,random_y]*=(-1)\n",
    "    receive_prob=min(1.0,np.exp(compute_energy(samples,random_x,random_y)-\n",
    "                               compute_energy(proposed_sample,random_x,random_y)))\n",
    "    if np.random.rand()<receive_prob:\n",
    "        samples=proposed_sample"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.2 Potts model\n",
    "It is easy to generalize the Ising model to multiple discrete states $x_t \\in \\{1,2,\\ldots,K\\}$. It's common to define a energy function\n",
    "$$\n",
    "E_{ij}(x_i,x_j)=-J\\mathbb{1}(x_i=x_j)\n",
    "$$\n",
    "which is called the **Potts model**. If $J >0$, neighboring nodes are encouraged to have the same label.\n",
    "\n",
    "The **Potts model** can be used as a prior for **image segmentation**, since it says that neighboring pixels are likely to have the same discrete label and hence belong to the same segment.\n",
    "\\begin{align}\n",
    "p(y,x|\\theta)  &=p(y)\\prod_t p(x_t|y_t,\\theta) \\\\\n",
    "               &=\\left[\\frac{1}{Z(J)}\\prod_{s \\sim t} \\phi(y_s,y_t)\\right]p(x_t|y_t,\\theta) \\\\\n",
    "               &=\\left[\\frac{1}{Z(J)}\\prod_{s \\sim t} e^{\\frac{J\\mathbb{1}(y_s=y_t)}{kT}}\\right] p(x_t|y_t,\\theta) \\\\\n",
    "\\end{align}\n",
    "where $p(y)$ is the prior for the segmentation and $p(x_t|y_t,\\theta)$ is the probability of observing pixel $x_t$ given that the corresponding segment belongs to class $k$.\n",
    "\n",
    "## 3.3 Gaussian MRFs\n",
    "Gaussian MRFs is a pairwise MRF of the following form\n",
    "\\begin{align}\n",
    "p(x|\\theta)        &=\\prod_{s \\sim t}\\phi_{st}(x_s,x_t) \\prod_t \\phi_t(x_t) \\\\\n",
    "\\psi_{st}(x_s,x_t) &=exp\\left(-\\frac{1}{2}x_s\\Lambda_{st}x_t\\right)  \\\\\n",
    "\\psi_t(x_t)        &=exp\\left(-\\frac{1}{2}\\Lambda_{tt}y_t^2+\\eta_ty_t\\right) \\\\\n",
    "\\end{align}\n",
    "If $\\Lambda_{st}=0$, then there is no pairwise term connecting $s$ and $t$,which can be use to efficiently learn the structure of the graph.\n",
    "\n",
    "# 4. Learning\n",
    "## 4.1 Training log-linear models using gradient methods\n",
    "$$\n",
    "p(\\vec{x}|\\vec{\\theta})=\\frac{1}{Z(\\vec{\\theta})}exp\\left(\\sum_c \\vec{\\theta}_c^T \\phi_c(\\vec{x}_c)\\right)\n",
    "$$\n",
    "where $c$ indexes the cliques. The scaled log-likelihood is given by\n",
    "\\begin{align}\n",
    "\\mathcal{l}(\\vec{\\theta}) &=\\frac{1}{N}\\sum_{i}log\\,p(\\vec{x}_i|\\vec{\\theta})  \\\\\n",
    "                    &=\\frac{1}{N}\\sum_{i}\\left[\\sum_c \\vec{\\theta}_c^T \\phi_c(\\vec{x}_c)-log\\, Z(\\vec{\\theta})\\right]\n",
    "\\end{align}\n",
    "The MRFs are in the exponential family, we know that this function is convex in $\\theta$, so it has a unique global maximum which we can find using gradient-based optimizers.\n",
    "$$\n",
    "\\frac{\\partial \\mathcal{l}}{\\partial \\vec{\\theta}_c}=\\frac{1}{N}\\left[\\phi_c(\\vec{x}_c)-\\frac{\\partial}{\\partial \\theta_c(\\vec{x}_c)}log\\, Z(\\vec{\\theta})\\right]\n",
    "$$\n",
    "The derivative of the log partition function wrt $\\vec{\\theta}_c$ is writen as\n",
    "\\begin{align}\n",
    "\\frac{\\partial}{\\partial \\theta_c(\\vec{x}_c)}log\\, Z(\\vec{\\theta}) &=\\frac{1}{Z(\\vec{\\theta})} \\frac{\\partial}{\\partial \\theta_c(\\vec{x}_c)} Z(\\vec{\\theta}) \\\\\n",
    "&=\\frac{1}{Z(\\vec{\\theta})} \\frac{\\partial}{\\partial \\theta_c(\\vec{x}_c)}\\left[\\int exp\\left(\\sum_c \\vec{\\theta}_c^T \\phi_c(\\vec{x}_c)\\right)d\\vec{x}\\right] \\\\\n",
    "&=\\frac{1}{Z(\\vec{\\theta})}\\left[\\int \\frac{\\partial}{\\partial \\theta_c(\\vec{x}_c)} exp\\left(\\sum_c \\vec{\\theta}_c^T \\phi_c(\\vec{x}_c)\\right)d\\vec{x}\\right] \\\\\n",
    "&=\\frac{1}{Z(\\vec{\\theta})}\\left[\\int \\phi_c(\\vec{x}_c) exp\\left(\\sum_c \\vec{\\theta}_c^T \\phi_c(\\vec{x}_c)\\right)d\\vec{x}\\right] \\\\\n",
    "&=\\int \\phi_c(\\vec{x}_c) \\frac{exp\\left(\\sum_c \\vec{\\theta}_c^T \\phi_c(\\vec{x}_c)\\right)}{Z(\\vec{\\theta})}d\\vec{x} \\\\\n",
    "&=\\mathbb{E}\\left[\\phi_c(\\vec{x}_c)|\\vec{\\theta}\\right]\n",
    "\\end{align}\n",
    "Hence the gradient of the log likelihood is\n",
    "$$\n",
    "\\frac{\\partial \\mathcal{l}}{\\partial \\vec{\\theta}_c}=\\frac{1}{N}\\left[\\phi_c(\\vec{x}_c)\\right]-\\mathbb{E}\\left[\\phi_c(\\vec{x}_c)|\\vec{\\theta}\\right]\n",
    "$$\n",
    "We can view the gradient as a **moment matching** which match the expect feature vector according to the empirical distribution and the model's expect of the feature vactor. We should notice that the calculate of the model's expect of the feature vactor is quite computationally expensive, which makes UGM training much slower than DGM training. This problem arises because the intractable **partition function**.\n",
    "## 4.2 Training partially observed log-linear models\n",
    "Suppose we have missing data and/or hidden variables in our model.\n",
    "$$\n",
    "p(\\vec{x},\\vec{h}|\\vec{\\theta})=\\frac{1}{Z({\\vec{\\theta}})}exp\\left(\\sum_c \\vec{\\theta}_c^T \\phi_c(\\vec{x}_c,\\vec{h})\\right)\n",
    "$$\n",
    "The log likelihood has the form\n",
    "\\begin{align}\n",
    "l(\\vec{\\theta})  &=\\frac{1}{N}\\sum_{i}log\\,p(\\vec{x}_i|\\vec{\\theta}) \\\\\n",
    "&=\\frac{1}{N}\\sum_i log\\,\\int p(\\vec{x}_i,\\vec{h}|\\vec{\\theta})dh \\\\\n",
    "&=\\frac{1}{N}\\sum_i log\\,\\int \\frac{1}{Z({\\vec{\\theta}})}exp\\left(\\sum_c \\vec{\\theta}_c^T \\phi_c(\\vec{x}_{ic},\\vec{h})\\right) dh \\\\\n",
    "\\end{align}\n",
    "The gradient is computed as\n",
    "\\begin{align}\n",
    "\\frac{\\partial \\mathcal{l}}{\\partial \\vec{\\theta}_c} &= \\frac{1}{N} \\sum_i \\left[\\frac{\\partial \\mathcal{log\\, \\int exp\\left(\\sum_c \\vec{\\theta}_c^T \\phi_c(\\vec{x}_{ic},\\vec{h})\\right) dh }}{\\partial \\vec{\\theta}_c } \\right]-\\frac{\\partial}{\\partial \\theta_c(\\vec{x}_c)}log\\, Z(\\vec{\\theta}) \\\\\n",
    "&=\\frac{1}{N} \\sum_i \\left[\\frac{\\int \\phi_c(\\vec{x}_{ic},\\vec{h}) exp\\left(\\sum_c \\vec{\\theta}_c^T \\phi_c(\\vec{x}_{ic},\\vec{h})\\right) dh}{\\int exp\\left(\\sum_c \\vec{\\theta}_c^T \\phi_c(\\vec{x}_{ic},\\vec{h})\\right) dh } \\right]-\\frac{\\partial}{\\partial \\theta_c(\\vec{x}_c)}log\\, Z(\\vec{\\theta}) \\\\\n",
    "&=\\frac{1}{N} \\sum_i \\left[\\frac{\\int \\phi_c(\\vec{x}_{ic},\\vec{h}) exp\\left(\\sum_c \\vec{\\theta}_c^T \\phi_c(\\vec{x}_{ic},\\vec{h})\\right) dh}{\\int exp\\left(\\sum_c \\vec{\\theta}_c^T \\phi_c(\\vec{x}_{ic},\\vec{h})\\right) dh } \\right]-\\mathbb{E}\\left[\\phi_c(\\vec{x}_{ic},\\vec{h})|\\vec{\\theta}\\right]\n",
    "\\end{align}\n",
    "## 4.3 Pseudo likelihood\n",
    "Because of the intractable **partition function**, exact MLE estimation is difficult for UGM. One alternative is to maximize the **pseudo likelihood**\n",
    "$$\n",
    "\\mathcal{l}_{PL}(\\vec{\\theta})=\\frac{1}{N}\\sum_{i=1}^N\\sum_{d=1}^Dlog\\,p(x_{id}|x_{i,-d},\\theta)\n",
    "$$\n",
    "Compare this to the object for maximum likelihood\n",
    "$$\n",
    "\\mathcal{l}(\\vec{\\theta}) =\\frac{1}{N}\\sum_{i}^Nlog\\,p(\\vec{x}_i|\\vec{\\theta})\n",
    "$$\n",
    "## 4.4 Stochastic maximum likelihood\n",
    "Recall that the gradient of the log-likelihood for a fully obeserved MRF is given by\n",
    "$$\n",
    "\\frac{\\partial \\mathcal{l}}{\\partial \\vec{\\theta}_c}=\\frac{1}{N}\\left[\\phi_c(\\vec{x}_c)\\right]-\\mathbb{E}\\left[\\phi_c(\\vec{x}_c)|\\vec{\\theta}\\right]\n",
    "$$\n",
    "We can use the MCMC to approximate the model expectations $\\mathbb{E}\\left[\\phi_c(\\vec{x}_c)|\\vec{\\theta}\\right]$. Of course, running MCMC to convergence at each step of the inner loop would be extremely slow. Fortunately,we can start the MCMC chain at its previous value, and just take a few steps. In otherwords, we sample $x^{s,k}$ by initializing the MCMC chain at $x^{s,k-1}$, and then run for a few iterations. This is valid since $p(\\vec{x}|\\vec{\\theta}_k)$ is likely to be close to $p(\\vec{x}|\\vec{\\theta}_{k-1})$, since we only changed the parameters a small amount.\n",
    "# 5. Conditional random fields (CRFs)\n",
    "A **conditional random field** or **CRF** is just a version of an MRF where all the clique potentials are conditioned on input features\n",
    "$$\n",
    "p(\\vec{y}|\\vec{x},\\vec{w})=\\frac{1}{Z(\\vec{x},\\vec{w})}\\prod_c\\psi_c(\\vec{y}_c|\\vec{x},\\vec{w}_c)\n",
    "$$\n",
    "**A CRF can be thought of as a structured output extension of logistic regression**. We will usually assume a log-linear representation of the potentials\n",
    "$$\n",
    "\\psi_c(\\vec{y}_c|\\vec{x},\\vec{w}_c)=exp\\left(\\vec{w}_c^T \\phi(\\vec{x},\\vec{y}_c) \\right)\n",
    "$$\n",
    "where $\\phi(\\vec{x},\\vec{y}_c)$ is a feature vector derived from the global inputs $\\vec{x}$ and the local set of labels $\\vec{y}_c$.\n",
    "## 5.1  Chain-structure CRFs\n",
    "The most widely used kind of CRF uses a chain-structured graph to model correlation amongst neighboring labels.\n",
    "Traditionally, HMMs have been used for such tasks\n",
    "$$\n",
    "p(\\vec{x},\\vec{y}|\\vec{w})=p(y_1|\\vec{w})p(x_1|y_1,\\vec{w})\\prod_{t=2}^T p(y_t|y_{t-1},\\vec{w})p(x_t|y_t,\\vec{w})\n",
    "$$\n",
    "<img src=\"imgs/4.png\" alt=\"drawing\" width=\"150\"/>\n",
    "An HMM requires specifying a generative observation model $p(x_t|y_t,\\vec{w})$, which can be difficult. Furthermore, each $x_t$ is required to be local, which is not proper.\n",
    "\n",
    "An obvious way to make a discriminative version of an HMM is to define a model \n",
    "$$\n",
    "p(\\vec{y}|\\vec{x},\\vec{w})=\\prod_t p(y_t|y_{t-1},x_t,\\vec{w},\\vec{x}_g)\n",
    "$$\n",
    "where $\\vec{x}_g$ means some global features. This model is called **maximum entropy Markov model (MEMM)**. But this model suffers from a subtle problem known (rather obscurely) as the **label bias**\n",
    "problem. The problem is that local features at time $t$ do not influence states prior to time $t$. The reason is that in MEMM, the information don't flow back.\n",
    "<img src=\"imgs/5.png\" alt=\"drawing\" width=\"150\"/>\n",
    "\n",
    "Now consider a chain-structured CRF. This model has the form\n",
    "$$\n",
    "p(\\vec{y}|\\vec{x},\\vec{w})=\\frac{1}{Z(\\vec{x},\\vec{w})}\\prod_{t=1}^{T-1}\\psi(y_t,y_{t+1}|x_t,x_{t+1},\\vec{x}_g,\\vec{w})\\prod_{t=1}^T\\psi(y_t|x_t,\\vec{x_g},\\vec{w})\n",
    "$$\n",
    "The chain-structured CRF don't have **label bias** problem, but it's much slower to train due to the existence of partition function.\n",
    "<img src=\"imgs/6.png\" alt=\"drawing\" width=\"150\"/>\n",
    "\n",
    "## 5.2 CRF training\n",
    "The scaled log-likelihood becomes\n",
    "\\begin{align}\n",
    "l(\\vec{w}) &=\\frac{1}{N}\\sum_i log\\, p(\\vec{y}_i|\\vec{x}_i,\\vec{w}) \\\\\n",
    "           &=\\frac{1}{N}\\sum_i\\left[\\sum_c \\vec{w}_c^T \\phi_c(\\vec{y}_{ic},\\vec{x}_i) -log\\,Z(\\vec{w},\\vec{x}_i) \\right]\n",
    "\\end{align}\n",
    "The gradient becomes\n",
    "\\begin{align}\n",
    "\\frac{\\partial l}{\\partial \\vec{w}_c} &=\\frac{1}{N}\\sum_i\\left[\\phi_c(\\vec{y}_{ic},\\vec{x}_i)-\\frac{\\partial}{\\partial \\vec{w}_c} log\\, Z(\\vec{w},\\vec{x}_i)\\right]   \\\\\n",
    "                                      &=\\frac{1}{N}\\sum_i\\left[\\phi_c(\\vec{y}_{ic},\\vec{x}_i)-\\mathbb{E}\\left[\\phi_c(\\vec{y}_{ic},\\vec{x}_i)\\right]\\right]\n",
    "\\end{align}\n",
    "Note that we now have to perform inference for every single training case inside each gradient step, which is $O(N)$ times slower than the MRF case. This is because the partition function depends on the inputs $\\vec{x}_i$.\n",
    "\n",
    "In most applications of CRFs, the size of the graph structure can vary. Hence we need to use **parameter tying** to ensure we can define a distribution of arbitrary size. In the pairwise case, we can write the model as follows.\n",
    "$$\n",
    "p(\\vec{y}|\\vec{x},\\vec{w})=\\frac{1}{Z(\\vec{w},\\vec{x})} exp \\left(\\vec{w}^T \\phi(\\vec{y},\\vec{x})\\right)\n",
    "$$\n",
    "where $\\vec{w}=\\left[ \\vec{w}_n,\\vec{w}_e\\right]$ are the node and edge parameters and\n",
    "$$\n",
    "\\phi(\\vec{y},\\vec{x})=\\left[\\sum_t \\phi_t(y_t,\\vec{x}),\\sum_{s \\sim t}\\phi_{st}(y_s,y_t,\\vec{x})\\right]\n",
    "$$"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python [default]",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
